package com.canaan.business.service.invoice.impl;

import com.canaan.business.domain.invoice.WmsProStockApplyDetail;
import com.canaan.business.mapper.invoice.WmsProStockApplyDetailMapper;
import com.canaan.business.service.invoice.IWmsProStockApplyDetailService;
import com.canaan.common.utils.DateUtils;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * 入库申请单明细Service业务层处理
 *
 * @author ruoyi
 * @date 2022-12-19
 */
@Service
public class WmsProStockApplyDetailServiceImpl implements IWmsProStockApplyDetailService
{
    @Resource
    private WmsProStockApplyDetailMapper wmsProStockApplyDetailMapper;

    /**
     * 查询入库申请单明细
     *
     * @param id 入库申请单明细主键
     * @return 入库申请单明细
     */
    @Override
    public WmsProStockApplyDetail selectWmsProStockApplyDetailById(Long id)
    {
        return wmsProStockApplyDetailMapper.selectWmsProStockApplyDetailById(id);
    }

    /**
     * 查询入库申请单明细列表
     *
     * @param wmsProStockApplyDetail 入库申请单明细
     * @return 入库申请单明细
     */
    @Override
    public List<WmsProStockApplyDetail> selectWmsProStockApplyDetailList(WmsProStockApplyDetail wmsProStockApplyDetail)
    {
        return wmsProStockApplyDetailMapper.selectWmsProStockApplyDetailList(wmsProStockApplyDetail);
    }

    /**
     * 新增入库申请单明细
     *
     * @param wmsProStockApplyDetail 入库申请单明细
     * @return 结果
     */
    @Override
    public int insertWmsProStockApplyDetail(WmsProStockApplyDetail wmsProStockApplyDetail)
    {
        wmsProStockApplyDetail.setCreateTime(DateUtils.getNowDate());
        return wmsProStockApplyDetailMapper.insertWmsProStockApplyDetail(wmsProStockApplyDetail);
    }

    @Override
    public int batchInsertWmsProStockApplyDetail(List<WmsProStockApplyDetail> wmsProStockApplyDetailList) {
        return wmsProStockApplyDetailMapper.batchInsertWmsProStockApplyDetail(wmsProStockApplyDetailList);
    }

    /**
     * 修改入库申请单明细
     *
     * @param wmsProStockApplyDetail 入库申请单明细
     * @return 结果
     */
    @Override
    public int updateWmsProStockApplyDetail(WmsProStockApplyDetail wmsProStockApplyDetail)
    {
        wmsProStockApplyDetail.setUpdateTime(DateUtils.getNowDate());
        return wmsProStockApplyDetailMapper.updateWmsProStockApplyDetail(wmsProStockApplyDetail);
    }

    /**
     * 批量删除入库申请单明细
     *
     * @param ids 需要删除的入库申请单明细主键
     * @return 结果
     */
    @Override
    public int deleteWmsProStockApplyDetailByIds(Long[] ids)
    {
        return wmsProStockApplyDetailMapper.deleteWmsProStockApplyDetailByIds(ids);
    }

    /**
     * 删除入库申请单明细信息
     *
     * @param id 入库申请单明细主键
     * @return 结果
     */
    @Override
    public int deleteWmsProStockApplyDetailById(Long id)
    {
        return wmsProStockApplyDetailMapper.deleteWmsProStockApplyDetailById(id);
    }


    /**
     * 根据申请单编号批量删除申请单明细
     *
     * @param orderNos 要删除明细的申请单编号集合
     * @return 结果
     */
    @Override
    public int deleteByOrderNos(List<String> orderNos) {
        return wmsProStockApplyDetailMapper.deleteByOrderNos(orderNos);
    }
}
